package com.distributer.report;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

//strom rebalance原因：https://www.cnblogs.com/hapjin/archive/2019/06/01/10926882.html
public class DistributerReportApplication {

	private static final Logger LOGGER = LoggerFactory.getLogger(DistributerReportApplication.class);
	/**
	 * 需求描述：
	 * 	1):实时计算产品的实时订单金额，订单数量。
	 *  2):计算每60秒的前TOP5的保险产品。
	 *  3):实时计算成交订单总金额。
	 *  4):将保单数据进行清洗，然后存入关系型数据库。
	 * @param args
	 */
	public static void main(String[] args) {
		
	}
	
	 /**
     * 非工程启动入口，所以不用main方法	
     * 加上synchronized的作用是由于storm在启动多个bolt线程实例时，如果Springboot用到Apollo分布式配置，会报ConcurrentModificationException错误
     * 详见：https://github.com/ctripcorp/apollo/issues/1658
     * @param args
     */
//    public synchronized static void run(String ...args) {
//        SpringApplication app = new SpringApplication(DistributerReportApplication.class);
//        //我们并不需要web servlet功能，所以设置为WebApplicationType.NONE
//        app.setWebApplicationType(WebApplicationType.NONE);
//        //忽略掉banner输出
//        app.setBannerMode(Banner.Mode.OFF);
//        //忽略Spring启动信息日志
//        app.setLogStartupInfo(true);
//        app.run(args);
//        LOGGER.info("启动报表服务完成！");
//    }
    
}
